home *** CD-ROM | disk | FTP | other *** search
- TITLE Add to Unordered List (EX51.ASM)
- PAGE ,132
- OUR_CODE SEGMENT PARA 'CODE'
- PUBLIC ADD_TO_UL
- ADD_TO_UL PROC FAR
- ASSUME CS:OUR_CODE
- CLD ;Make DF=0, to scan forward
- PUSH DI ;Save starting address
- PUSH CX
- MOV CX,ES:[DI] ;Fetch word count
- ADD DI,2 ;Make DI point to 1st data el.
- REPNE SCASW ;Value already in list?
- POP CX
- JNE ADD_IT
- POP DI ; Yes. Restore starting addr.
- RET ; and exit.
- ADD_IT: MOV ES:[DI],AX ; No. Add it to end of list,
- POP DI ; then update element count
- INC WORD PTR ES:[DI]
- RET ; and exit.
- ADD_TO_UL ENDP
- OUR_CODE ENDS
- END ADD_TO_UL
-